
#include <iostream>
#include <memory>
#include "udpserver.hpp"

// #include "Dict.hpp"
// using namespace dict_ns;
#include "MessageRoute.hpp"

void Usage(std::string proc)
{
    std::cout << "Usage:\n\t" << proc << " local_port\n" << std::endl;
}

int main(int argc, char* argv[])
{

    if(argc != 2)
    {
        Usage(argv[0]);
        exit(USAGE_ERROR);
    }

    EnableScreen();

    //定义消息转发模块
    MessageRoute route;
    // std::string ip = argv[1];
    uint16_t port = std::stoi(argv[1]);
    std::unique_ptr<UdpServer> usvr = std::make_unique<UdpServer>(port,bind(&MessageRoute::Route,&route,\
    std::placeholders::_1,std::placeholders::_2,std::placeholders::_3));

    usvr->InitServer();
    usvr->Start();

    return 0;
}